package com.ruoyi.server.api.subscribe.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;

/**
 * @ClassName CourseSubscribeModel
 * @Description TODO
 * @Author 26503
 * @Date 2024/6/11 10:50
 **/
@Data
public class CourseSubscribeModel {
    private Long id;

    /**
     * 课程名称
     */
    @Excel(name = "课程名称")
    @NotNull
    private String courseName;

    /**
     * 课程封面图片
     */
    @Excel(name = "课程封面图片")
    private String coverPic;

    /**
     * 课程描述
     */
    @Excel(name = "课程描述")
    private String courseDescribe;

    /**
     * 课程创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "课程创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date courseCreateTime;

    /**
     * 活动最大报名人数
     */
    @Excel(name = "活动最大报名人数")
    private Long registrationNumber;

    /**
     * 至少报名人数
     */
    @Excel(name = "至少报名人数")
    private Long registrationNumberLeast;

    /**
     * 是否收费
     */
    @Excel(name = "是否收费")
    private Long collectFee;

    /**
     * 收费金额
     */
    @Excel(name = "收费金额")
    private Long collectFeeMoney;

    /**
     * 课程状态
     */
    @Excel(name = "课程状态")
    private Long courseStatus;

    /**
     * 租户id  唯一标识
     */
    private String venueUniqueIdentifier;

    /**
     * 课程的开始时间
     */
    @Excel(name = "课程的开始时间")
    private Date courseStartTime;

    /**
     * 课程的结束时间
     */
    @Excel(name = "课程的结束时间")
    private Date courseEndTime;

    /**
     * 课程截止报名时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "课程截止报名时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date registrationDeadline;

    /**
     * 课程报名时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "课程报名时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date registrationTime;
    @Excel(name = "取消原因")
    private String cancelCause;
    /**
     * 教练ID
     */
    private Integer couchId;

    /**
     * 活动地点
     */
    private String activityPlace;

    /**
     * 付款方式
     */
    private Integer payWay;
}
